#ifndef _input_H
#define _input_H

#include <SFML/Graphics.hpp>


enum InputType
{
    KeyboardInput,
    MouseInput,
    JoystickInput
};
 
struct MyKeys
{
    InputType myInputType;
    sf::Event::EventType myEventType;
    sf::Key::Code myKeyCode;
    sf::Mouse::Button myMouseButton;
	bool useAutoRepeat;
};
 


class Dynamic_Input
{
	public:
		bool Test_Action   (std::string s);
		void Assign_Button (std::string a, bool autoRepeat, InputType t, sf::Key::Code c);
		void Assign_Button (std::string a, bool autoRepeat, InputType t, sf::Mouse::Button b);



	protected:

		std::map<std::string, MyKeys> Keys;
		MyKeys key;
    

};

extern Dynamic_Input Binder;

#endif
